#ifndef FACTORY_H_
#define FACTORY_H_

#include <iostream>
#include "string.h"
#include "Escenario.h"
#include "Cierre.h"
#include "Grilla.h"
#include "TiposObstaculos.h"
#include "Texturas.h"
#include "Textura.h"
#include "TagDesconocidoException.h"
using namespace std;



class Factory {
	
private:
public:

	Factory(){}
	
	ObjetoModelo* instanciar(string clase){
			if(clase == "Escenario")
				return new Escenario();
			if(clase == "Obstaculo")
				return new Obstaculo();
			if (clase == "Cierre")
				return new Cierre();
			if (clase == "Camino")
				return new Camino();
			if (clase == "Bonus")
				return new Bonus();
			if (clase == "Grilla")
				return new Grilla();
			if (clase == "TipoBonus")
				return new TipoBonus();
			if (clase == "TipoObstaculo")
				return new TipoObstaculo();
			if (clase == "TiposBonus")
				return new TiposBonus();
			if (clase == "TiposObstaculos")
				return new TiposObstaculos();
			if (clase == "Texturas")
				return new Texturas();
			if (clase == "Textura")
				return new Textura();
		throw new TagDesconocidoException(clase);
	}


};
#endif 